制作课件中数学对象的应用
作为一门编程语言,进行数学计算是必不可少的。在数学计算中经常会使用到数学函数,如取绝对值、开方、取整、求三角函数值等,还有一种重要的函数是随机函数。AS将所有这些与数学有关的方法、常数、三角函数以及随机数都集中到一个对象里面——Math对象。
下面先按顺序简要讲解一下数学对象的基础知识:
Math.abs(数字或表达式);
就是用来计算一个数的绝对值,即一个数去掉正负符号后的值。其用法如下:
x=Math.abs(-1);或者x=Math.abs(x1-x2);
Math.ceil方法取比一个浮点数大且最接近的整数。//ceil是天花板也就是上面的意思
例如:trace(Math.ceil(1.1));输出 2
Math.floor方法取比一个浮点数小且最接近的整数。//floor是地板也就是下面的意思
例如:trace(Math.floor(1.1));输出1
Math.min方法取两个数中较小的一个数,Math.max方法取两个数中较大的一个数,
例如:trace(Math.min(2, 1));输出1,而trace(Math.max(2, 1));输出2。
Math.pow方法用来计算一个数的乘方,它包含两个参数,第1个参数是底数(要乘方的数),第2个参数是幂(乘方数)。
例如:要计算3的平方:trace(Math.pow(3, 2));
除了用Math.pow计算一个数的开方,还可以使用Math.sqrt计算一个数的平方根,
例如计算16的平方根:
trace(Math.sqrt(16));将输出4。等同于trace(Math.pow(16, 1/2));
数学对象的常数有以下几个:
Math.PI:圆周率(大约为3.141593)。
Math.SQRT1_2:1/2的平方根的倒数(大约为0.707107)。
Math.SQRT2:2的平方根(大约为1.414214)。
Math.E:欧拉(Euler)常数,自然对数的底(大约为2.718282)。
Math.LN2:2的自然对数(大约为0.693147)。
Math.LN10:10的自然对数(大约为2.302585)。
Math.LOG2E:e的以2为底的对数(大约为1.442695)。
Math.LOG10E:e的以10为底的对数(大约为0.434294)。
其中Math.PI用得较多,在很多画线效果以及旋转效果要用到这个常数
如下面的脚本将弧度值arcdegree转换为角度值angledegree:
angledegree = arcdegree*(180/Math.PI);
三角函数
数学对象中的三角函数有:
Math.sin:正弦
Math.cos:余弦
Math.tan:正切
Math.asin:反正弦
Math.acos:反余弦
Math.atan:反正切
Math.atan2:从x坐标轴到点的角度
三角函数在脚本中有着举足轻重的地位,它们在制作一些特效动画时比如影片剪辑绕一个圆形或者椭圆旋转等效果的时候将发挥重要的作用。
在程序语言中通常以x和y标记位置,但是在一个圆周上使用x和y来标记位置并不是很容
易。三角函数在处理与圆周相关的位置参数时很有效。如用某个圆的圆心位置为(x0,y0)
,半径为r,可以用y0+r*Math.sin(0)表示该圆水平直径右端点的纵坐标,x0+r*Math.cos
(0)表示该圆水平直径右端点的横坐标。
根据上面的原理,下面我们做一个小例子,让一个影片剪辑绕着一个圆形旋转。
主要步骤是:
1、新建文件,然后创建一影片元件,在影片元件中随便做一个物体或者物体动作的效果。
2、回到场景中,按F11,将影片剪辑拖到场景中,选中,在动作面板中写上下面代码:
onClipEvent (load) {//影片载入的时候初始化一些变量
i = 0;
r = 150;//运动轨道的半径
x0 = 275;
y0 = 200;//确定影片绕着运动的圆形的圆心坐标
}
onClipEvent (enterFrame) {//逐桢执行动作
i += 10;//角度自加
this._x = x0+r*Math.cos(i/(180/Math.PI));
this._y = y0+r*Math.sin(i/(180/Math.PI));//设置影片的XY坐标,让影片在圆形轨道上运动
}
3、Ctrl+Enter测试效果。
|